package com.quan.TemplateEditor.interfaces;

import com.quan.TemplateEditor.common.R;
import com.quan.TemplateEditor.dto.AtrributeDefSelectorDto;
import com.quan.TemplateEditor.dto.GisTableParams;
import com.quan.TemplateEditor.entity.AttributeDef;
import com.quan.TemplateEditor.entity.GisTable;
import com.quan.TemplateEditor.params.CodeParams;

import java.util.List;
import java.util.Map;

public interface IdataInterface {
    /**
     * 查询图层信息
     * @return
     */
    List<GisTable> getLayer();

    /**
     * 获取所有表结构信息
     * @return
     */
    List<Map<String,Object>> getTableInfo();

    /**
     * 通过表名获取表结构信息
     * @return
     */
    List<Map<String,Object>> getTableInfoByName(String tableName);

    /**
     * 获取属性内容
     * @param tableName
     * @return
     */
    List<AttributeDef> getAttributeByTableName(String tableName);

    /**
     * 保存图层信息
     * @param gisTableParams
     */
    void saveGisTable(GisTableParams gisTableParams);

    /**
     * 属性功能下拉框选择内容
     * @return
     */
    List<AtrributeDefSelectorDto> getAttributeSelector();

    /**
     * 赋码操作
      @param code
     * @return
     */
    R getQrCode(CodeParams code);

    R validate(CodeParams code);

    Double[][][] GetMinMaxXY(CodeParams code);
}
